1. Field of the Invention
The present invention relates to the field of application installation and more particularly to application installers.
2. Description of the Related Art
Though often overlooked, application installation is a prerequisite to interacting with a software application. Specifically, in most circumstances, an application can be properly executed only subsequent to the completion of a successful installation process. At the minimum, a typical software application installation requires a transfer of files to the file structure of a computing system, and the configuration of the computing system to particularly interact with the software application. Ordinarily, the configuration of the computing system includes the addition or modification of registry settings, the addition or modification of entries to one or more initialization files, or both.
Typically, software programs include as a component installer logic having program code enabled to substantially automate the installation process. In addition, computer operating systems occasionally incorporate installer logic for use in installing drivers or other software. Likewise, many commercial software offerings are provided with companion updater logic supporting self-updating operations. Generally, the updater logic can be included as a component of the software program itself, or the updater logic can be provided externally as a third-party tool.
The provision of an updating process is desirable because software programs are frequently modified by end users, for example by applying bug fixes or enhancements (such as new versions of the software). There are many different processes for installing and/or updating software programs. Some processes are entirely automated and substantially invisible to the user, while other processes are better characterized as interactive. Some processes are known to be complex while other processes are viewed to be simpler in nature.
Software programs used to install new software, to install updates to software, and to uninstall (remove) software are referred to herein as “installer applications”. The term “installer applications” is intended to encompass both stand-alone software programs that can be used to install a variety of software applications (for example, such as installers that may be provided with an operating system), as well as software programs that are adapted to install only a single software application (and may be integrated with the installation file package for that software application). Installer applications, when run, implement a software installation process.
The great disparity in the nature of different installer applications provides for challenges in the computing enterprise. Specifically, from the development and deployment perspective, each new application generally requires a custom installer for each target platform. Furthermore, most installers only can support a single platform type and the presence of multiple platforms within the enterprise, therefore, requires multiple different installers. Consequently, the deployment of a maintenance update in the enterprise to multiple different platforms (including different supporting operating systems) can require the execution of multiple different installers.